<#assign filePath>${project.projectName}/${project.projectName}-biz/src/main/java/${project.basePackage?replace(".","/")}/${model.moduleName?replace(".","/")}/convert/</#assign>
<#assign fileName>${model.name?cap_first}Converter.java</#assign>
package ${project.basePackage}.${module.moduleName}.convert;
<#if !(model.methodList?? && model.methodList?size gt 0) ><#stop></#if>

<#assign importPkgs=['com.fa4j.common.base.convert.CommonConvertor','com.fa4j.common.base.convert.ConverterConfig','org.mapstruct.Mapper']>
<#assign importPkgs=importPkgs+[project.basePackage+'.'+module.moduleName+'.model.'+model.name?cap_first]>
<#list model.methodList as method>
    <#if method.type=="CREATE_CMD">
        <#assign hasCmd=true>
        <#assign createCmd=model.name?cap_first+method.name?cap_first+"Cmd"  >
        <#assign importPkgs=importPkgs+[project.basePackage+'.'+module.moduleName+'.model.'+createCmd]>
    </#if>
    <#if method.type=="MODIFY_CMD">
        <#assign hasCmd=true>
        <#assign modifyCmd=model.name?cap_first+method.name?cap_first+"Cmd"  >
        <#assign importPkgs=importPkgs+[project.basePackage+'.'+module.moduleName+'.model.'+modifyCmd]>
    </#if>
</#list>
<#if !(createCmd??)>
    <#assign createCmd="AbstractCmd"  >
    <#assign importPkgs=importPkgs+['com.fa4j.common.base.model.AbstractCmd']>
</#if>
<#if !(modifyCmd??)>
    <#assign modifyCmd="ModifyCmd<?>"  >
    <#assign importPkgs=importPkgs+['com.fa4j.common.base.model.ModifyCmd']>
</#if>
<#if !(hasCmd??)><#stop></#if>
<#list importPkgs?filter(p->!p?starts_with("java.lang"))?sort as pkg>
import ${pkg};
</#list>

@Mapper(config = ConverterConfig.class)
public interface ${model.name?cap_first}Converter extends CommonConvertor<${model.name?cap_first}, ${createCmd}, ${modifyCmd}> {

}

